翻訳と辞書 |
C++ AMP C++ AMP (C++ Accelerated Massive Parallelism) 〔C++ AMP (C++ Accelerated Massive Parallelism) 〕とは、マイクロソフトが中心になって開発している、演算アクセラレータを活用した並列プログラミングのためのC++言語拡張およびライブラリである。バックエンドとしてDirectCompute (DirectX) やOpenCLなどを使用した実装が存在している。C++ AMPによって、DirectComputeやOpenCLよりも高レベルの並列プログラミングAPIが提供される。 == 概要 == マイクロソフトはWindows上においてGPGPUを標準化するために、DirectX 11にてDirectComputeを導入した。しかし、DirectComputeはDirect3D APIを直接操作する必要があるため、OpenMPを利用した一般的なCPU向けのC++並列プログラミングなどと比較してハードルが高い〔4Gamer.net ― 見えてきたAMDの次世代GPUアーキテクチャ。なぜAMDはVLIWを捨てるのか 〕。マイクロソフトはより抽象化された純粋C++プログラミングに近いGPU並列プログラミングモデルを提供するAPIおよび言語拡張として、2012年にC++ AMPの仕様を公開した〔MicrosoftがC++ AMP仕様を公開し、データ並列処理の障壁を下げる意向 〕。また、マイクロソフトによるC++ AMPの公式プロプライエタリ実装として、Microsoft Visual C++ 2012はDirectComputeをバックエンドとした最初のC++ AMP対応コンパイラとなっている。 C++ AMPのライブラリおよびC++ AMPに対応したVisual C++コンパイラが付属しているのはVisual Studio 2012以降であるが、Visual Studio 2013ではC++ AMP v1.2規格に対応し、さらにコンピュートシェーダー以外のシェーダーステージとの相互運用やテクスチャフィルタリング(サンプラー)などの機能が強化されている〔グラフィックス (C++ AMP) 〕 〔Texture Copy Improvements in C++ AMP with Visual Studio 2013 - Parallel Programming in Native Code - Site Home - MSDN Blogs 〕 〔C++ AMP Open Spec V1.2 Published - Parallel Programming in Native Code - Site Home - MSDN Blogs 〕。 なお、C++ AMP自体はDirectCompute/Windows専用というわけではなく、またGPU専用というわけでもない〔accelerator Class 〕。AMDとマイクロソフトは、OpenCLなどをバックエンドとするLinuxやOS X向けのC++ AMP v1.2オープン実装を発表した〔AMDとMS,GPU演算用途向けのコンパイラ「C++ AMP v1.2」を発表 - 4Gamer.net 〕。その後、同コンパイラはMulticoreWareに移管され、''Clamp'', ''Kalmar'', ''HCC''と名前を変えながら開発が続けられている〔multicoreware / hcc / wiki / Old Home — Bitbucket 〕。HCCでは、OpenCLのカーネル記述言語"OpenCL C"や中間言語"SPIR"〔SPIR - The first open standard intermediate language for parallel compute and graphics 〕、およびHSA () の中間言語"HSAIL"〔HSA Developer Tools - HSA Foundation 〕への変換層が提供され、Visual C++版よりもさらにヘテロジニアス環境向けを意識した実装となっている。 MSDNブログではCUDA、OpenCL、DirectComputeプログラマー向けに、各APIに対応するC++ AMP相当機能の比較資料が公開されている。 * C++ AMP for the CUDA Programmer - Parallel Programming in Native Code - Site Home - MSDN Blogs * C++ AMP for the OpenCL Programmer - Parallel Programming in Native Code - Site Home - MSDN Blogs * C++ AMP for the DirectCompute Programmer - Parallel Programming in Native Code - Site Home - MSDN Blogs
抄文引用元・出典: フリー百科事典『 ウィキペディア(Wikipedia)』 ■ウィキペディアで「C++ AMP」の詳細全文を読む
スポンサード リンク
翻訳と辞書 : 翻訳のためのインターネットリソース |
Copyright(C) kotoba.ne.jp 1997-2016. All Rights Reserved.
|
|